


//
//  Date+extension.swift
//  新浪微博练习
//
//  Created by 韩旭 on 16/11/30.
//  Copyright © 2016年 韩旭. All rights reserved.
//

import Foundation

//把特定格式时间字符串转化成Date,把date转换成特定格式的字符串
let dateformatter = DateFormatter()

//判断昨天今天明天,取一个时间元素
let calendar = Calendar.current

extension Date {
    
    static func sinaTimeToDate(sinaTime: String) -> Date {
        let formatterString = "EEE  MMM dd HH:mm:ss zzz yyyy"
        //locale必须设,如果不设,真机和模拟器时间可能不一致
       dateformatter.locale = Locale(identifier: "en")
        dateformatter.dateFormat = formatterString
        return dateformatter.date(from: sinaTime)!
    }
    
    func dateToRequiredString() -> String {
        //今天
        if calendar.isDateInToday(self) {
            let seconds = Int(Date().timeIntervalSince(self))
            if seconds < 60 {
                return "刚刚"
            }else if seconds < 60 * 60 {
                return "\(seconds / 60)分钟前"
            }else{
                  return "\(seconds / 3600)小时前"
            }
            
            //昨天
        }else if calendar.isDateInYesterday(self) {
            dateformatter.dateFormat = "昨天 HH:mm"
            dateformatter.locale = Locale(identifier: "en")
            return dateformatter.string(from: self)
        }else{
            //年
            //首先要取到今年是哪一年
            //再取到当前的date是哪一年在做比较
            //系统时间(当前时间)
            let thisYear  = calendar.component(.year, from: Date())
            //传进去的时间
            let dateYear = calendar.component(.year, from: self)
            //是今年
            if thisYear == dateYear {
                dateformatter.dateFormat = "MM-dd HH:mm"
                dateformatter.locale = Locale(identifier: "en")
                return dateformatter.string(from: self)

            }else{
                dateformatter.dateFormat = "yyyy-MM-dd HH:mm"
                dateformatter.locale = Locale(identifier: "en")
                return dateformatter.string(from: self)

            }
            
        }
        
    }
}


